home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / CAPYTEL.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-27  |  10.4 KB  |  344 lines

  1. 10  'CAPYTEL - CAPACITOR, Telescoping - 29 JAN 06 rev. 27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  4. 40  COMMON EX$
  5. 50  CLS:KEY OFF
  6. 60  COLOR 7,0,1
  7. 70  PI=3.14159
  8. 80  LF=1/LOG(10)    'Factor to covert natural log to log base 10
  9. 90  U1$="####.###"
  10. 100  U2$="#########"
  11. 110  U3$="########"
  12. 120  UL$=STRING$(80,205)
  13. 130  X$=STRING$(80,32)
  14. 140  DIM P$(12,4)    'pipe sizes
  15. 150  DIM T$(12,4)    'tubing sizes
  16. 160  '
  17. 170  DATA 1/8,.405,.068,   1/4,.54,.088,   3/8,.675,.091,   1/2,.84,.109
  18. 180  DATA 3/4,1.05,.113,   1,1.315,.133,   1-1/4,1.66,.14,  1-1/2,1.9,.145
  19. 190  DATA 2,2.375,.154,    2-1/2,2.875,.203,   3,3.5,.216,  4,4.5,.237
  20. 200  FOR X=1 TO 12:FOR Y=1 TO 3:READ P$(X,Y):NEXT Y:NEXT X
  21. 210  DATA 3/16,.1875,.049, 1/4,.25,.049,   5/16,.3125,.049, 3/8,.375,.049
  22. 220  DATA 7/16,.4375,.049, 1/2,.5,.049,    5/8,.625,.049,   3/4,.75,.049
  23. 230  DATA 7/8,.875,.049,   1,1,.049,       1-1/4,1.25,.049, 1-1/2,1.5,.049
  24. 240  FOR X=1 TO 12:FOR Y=1 TO 3:READ T$(X,Y):NEXT Y:NEXT X
  25. 250  GOTO 350
  26. 260  '
  27. 270  VIEW PRINT 17 TO 24:CLS:VIEW PRINT:LOCATE 17
  28. 280  RETURN
  29. 290  '
  30. 300  '.....format display
  31. 310  LOCATE CSRLIN-1:PRINT SPC(7);
  32. 320  LOCATE CSRLIN,45:PRINT STRING$(5,".");USING U1$;ZZ;
  33. 330  RETURN
  34. 340  '
  35. 350  '.....start
  36. 360  CLS:M=0:C=0:OD=0:ID=0:D=0:A=0:L=0:BV=0:E=0:DIA=0:CF=0
  37. 370  COLOR 15,2
  38. 380  PRINT " CAPACITOR, Telescoping Variable";
  39. 390  PRINT TAB(57);"by George Murphy VE3ERP ";
  40. 400  COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
  41. 410  GOSUB 1520     'diagram
  42. 420  GOSUB 1710
  43. 430  PRINT
  44. 440  GOSUB 3160     'text
  45. 450  '
  46. 460  LOCATE 25,22:COLOR 0,7
  47. 470  PRINT " Press 1 to continue or 0 to EXIT.....";
  48. 480  COLOR 7,0
  49. 490  Z$=INKEY$:IF Z$=""THEN 490
  50. 500  IF Z$="0"THEN CLS:CHAIN GO$
  51. 510  IF Z$="1"THEN 530
  52. 520  GOTO 490
  53. 530  GOSUB 270
  54. 540  '
  55. 550  LOCATE CSRLIN-1:PRINT X$;
  56. 560  PRINT TAB(7);
  57. 570  PRINT "Do you want to enter dimensions in (c)entimetres or (i)nches?  (c/i)"
  58. 580  Z$=INKEY$:IF Z$=""THEN 580
  59. 590  IF Z$="c"THEN M$="cm.":M=2.54:GOTO 620
  60. 600  IF Z$="i"THEN M$="in.":M=1:GOTO 620
  61. 610  GOTO 580
  62. 620  GOSUB 270
  63. 630  '
  64. 640  INPUT " ENTER: Max. voltage potential between elements (0 if don't care) ";E
  65. 650  IF E=0 THEN 740
  66. 660  AIR=E/21/10^3
  67. 670  GOSUB 270
  68. 680  LOCATE 16
  69. 690  PRINT TAB(15)"Air gap between elements must be at least";
  70. 700  PRINT USING "##.###";AIR*M;:PRINT " ";M$
  71. 710  PRINT
  72. 720  PRINT TAB(26);"Press any key to continue....."
  73. 730  IF INKEY$=""THEN 730
  74. 740  GOSUB 270
  75. 750  '
  76. 760  PRINT
  77. 770  PRINT " Press number in ( ) to:
  78. 780  PRINT "   (1) Specify capacitance and find overlap"
  79. 790  PRINT "   (2) Specify overlap and find capacitance"
  80. 800  IF ID*OD<>0 THEN 840
  81. 810  PRINT "   (3) Select standard copper pipe sizes for elements"
  82. 820  PRINT "   (4) Select standard aluminum tubing sizes for elements"
  83. 830  PRINT "   (0) Quit"
  84. 840  Z$=INKEY$:IF Z$=""THEN 840
  85. 850  IF Z$="1"THEN GOSUB 270:GOTO 990
  86. 860  IF Z$="2"THEN GOSUB 270:GOTO 940
  87. 870  IF ID*OD<>0 THEN 910
  88. 880  IF Z$="3"THEN VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3:GOTO 1770
  89. 890  IF Z$="4"THEN VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3:GOTO 2500
  90. 900  IF Z$="0"THEN 350
  91. 910  GOTO 840
  92. 920  '
  93. 930  '.....input data
  94. 940  PRINT " ENTER: Length of element overlap...........(";M$;")";:INPUT L
  95. 950  L=L/M
  96. 960  ZZ=L:GOSUB 300:PRINT " in. =";USING U1$;L*2.54;:PRINT " cm."
  97. 970  GOSUB 1180:GOTO 1030
  98. 980  '
  99. 990  INPUT " ENTER: Desired capacitance..................(pF)";C
  100. 1000  ZZ=C:GOSUB 300:PRINT " pF"
  101. 1010  GOSUB 1180
  102. 1020  '
  103. 1030  IF OD=0 THEN 1050
  104. 1040  PRINT "        Inner element Outside Diameter......(";M$;")";:GOTO 1060
  105. 1050  PRINT " ENTER: Inner element Outside Diameter......(";M$;")";:INPUT OD
  106. 1060  OD=OD/M
  107. 1070  ZZ=OD:GOSUB 300:PRINT " in. =";USING U1$;OD*2.54;:PRINT " cm."
  108. 1080  GOSUB 1180
  109. 1090  '
  110. 1100  IF ID=0 THEN 1120
  111. 1110  PRINT "        Outer element Inside Diameter.......(";M$;")";:GOTO 1130
  112. 1120  PRINT " ENTER: Outer element Inside Diameter.......(";M$;")";:INPUT ID
  113. 1130  ID=ID/M
  114. 1140  ZZ=ID:GOSUB 300:PRINT " in. =";USING U1$;ID*2.54;:PRINT " cm."
  115. 1150  GOSUB 1180
  116. 1160  GOTO 350
  117. 1170  '
  118. 1180  '.....calculation
  119. 1190  IF C=0 AND ID*OD*L>0 THEN C=7.47/(LOG(ID/OD)*LF)*L/12:GOTO 1180
  120. 1200  IF L=0 AND ID*OD*C>0 THEN L=12*C/(7.47/(LOG(ID/OD)*LF)):GOTO 1180
  121. 1210  IF D=0 AND ID*OD>0   THEN D=(ID-OD)/2:GOTO 1180     'air gap
  122. 1220  IF CF=0 AND OD>0     THEN CF=OD*PI:GOTO 1170        'circumference
  123. 1230  IF A=0 AND L*CF>0    THEN A=L*CF:GOTO 1170          'surface area
  124. 1240  IF C*D*ID*OD*L*CF*A THEN 1270
  125. 1250  RETURN
  126. 1260  '
  127. 1270  BV=21*D*10^3    'breakdown voltage
  128. 1280  GOSUB 270
  129. 1290  PRINT "        Capacitance..............................";USING U1$;C;
  130. 1300  PRINT " pF"
  131. 1310  PRINT "        Length of element overlap................";USING U1$;L;
  132. 1320  PRINT " in. =";USING U1$;L*2.54;:PRINT " cm."
  133. 1330  PRINT "        Calibration of travel........each 10 pF =";USING U1$;L/C*10;
  134. 1340  PRINT " in. =";USING U1$;L/C*10*2.54;:PRINT " cm."
  135. 1350  PRINT "        INNER element OUTSIDE Diameter...........";USING U1$;OD;
  136. 1360  PRINT " in. =";USING U1$;OD*2.54;:PRINT " cm."
  137. 1370  PRINT "        OUTER element INSIDE Diameter............";USING U1$;ID;
  138. 1380  PRINT " in. =";USING U1$;ID*2.54;:PRINT " cm."
  139. 1390  PRINT "        Air space between element surfaces.......";USING U1$;D;
  140. 1400  PRINT " in. =";USING U1$;D*2.54;:PRINT " cm."
  141. 1410  PRINT "        Surface area common to both elements.....";USING U1$;A;
  142. 1420  PRINT " in<UNK! {FD20}>=";USING U1$;A*6.4516;:PRINT " cm<UNK! {FD22}>
  143. 1430  PRINT "        Approximate breakdown voltage............";USING U2$;BV;
  144. 1440  PRINT " v.";
  145. 1450  'LOCATE 15:PRINT X$ ;    'blank out background colour
  146. 1460  '
  147. 1470  '.....end
  148. 1480  GOSUB 3310
  149. 1490  GOTO 350
  150. 1500  END
  151. 1510  '
  152. 1520  '.....diagram
  153. 1530  COLOR 0,7
  154. 1540  T=13
  155. 1550  LOCATE ,T:PRINT "                                                       "
  156. 1560  LOCATE ,T:PRINT "  insulating caps fastened to outer element SOUNDCOLOR         "
  157. 1570  LOCATE ,T:PRINT "                                             CALL         "
  158. 1580  LOCATE ,T:PRINT "           CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND overlap SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL   CALL         "
  159. 1590  LOCATE ,T:PRINT "  VARPTRCOLOR       CALL    determines capacitance   VARPTRCOLOR  CALL         "
  160. 1600  LOCATE ,T:PRINT "  CALLERLFNTHENTHENTHENTHENTHENFNFNTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENFNSAVECALLDEFSNGSOUND'         "
  161. 1610  LOCATE ,T:PRINT "  CALL CALL     CALLERLFNTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENSTEPTHENSTEPTHENTHENTHENTHENTHENTHENTHENTHENTHENOPTION  "
  162. 1620  LOCATE ,T:PRINT "  CALL CALL  VARPTRSOUNDDEFDBLCALL CALL      DEFSNGSOUND sliding inner element SOUNDDEFDBL      CALL  "
  163. 1630  LOCATE ,T:PRINT "  CALL CALL  CALL  CALLERRSTEPTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENFNTHENFNTHENTHENTHENTHENTHENTHENTHENTHENTHENSAVE  "
  164. 1640  LOCATE ,T:PRINT "  CALLERRSTEPTHENTHENINSTRTHENTHENSTEPSTEPTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENSTEPOPTIONCALL            "
  165. 1650  LOCATE ,T:PRINT "  CLS'   CALL                                 CLS'            "
  166. 1660  LOCATE ,T:PRINT "       CLSSOUND sliding insulator fastened to inner element  "
  167. 1670  LOCATE ,T:PRINT "                                                       "
  168. 1680  COLOR 7,0
  169. 1690  RETURN
  170. 1700  '
  171. 1710  COLOR 7,1
  172. 1720  LOCATE ,T:PRINT "       Program suggested by Harold Kane, W2AHW         "
  173. 1730  LOCATE ,T:PRINT "        Formulae provided by Doug DeMaw, W1FB          "
  174. 1740  COLOR 7,0
  175. 1750  RETURN
  176. 1760  '
  177. 1770  '.....pipe sizes
  178. 1780  INC=1     'increment between inner and outer pipe sizes
  179. 1790  '
  180. 1800  VIEW PRINT 12 TO 24:CLS:VIEW PRINT:LOCATE 3
  181. 1810  IF INC=1 THEN INC$=" VOLTAGE RATINGS"
  182. 1820  IF INC=-1 THEN INC$=" CAPACITANCES"
  183. 1830  PRINT " American ANSI Standard Schedule 40 Copper Pipe ";
  184. 1840  PRINT "(all dimensions are in inches)"
  185. 1850  PRINT UL$;
  186. 1860  T=7
  187. 1870  PRINT TAB(T);
  188. 1880  PRINT "ANSI Standard nominal pipe sizes bear no relation to actual pipe"
  189. 1890  PRINT TAB(T);
  190. 1900  PRINT "dimensions. They are an anomalous holdover from obsolete standards"
  191. 1910  PRINT TAB(T);
  192. 1920  PRINT "long since abandoned, but neverthless still remain in use."
  193. 1930  PRINT UL$;
  194. 1940  LOCATE CSRLIN-1,39:PRINT "FN"
  195. 1950  LOCATE CSRLIN-1,49:PRINT "FN"
  196. 1960  LOCATE CSRLIN-1,58:PRINT "FN"
  197. 1970  LOCATE CSRLIN-1,69:PRINT "FN"
  198. 1980  PRINT TAB(7)"Nominal";TAB(39)"CALLfits into";TAB(49)"CALLwith air";
  199. 1990  PRINT TAB(58)"CALL Capacity";TAB(69)"CALL Maximum";
  200. 2000  PRINT TAB(8)"size";TAB(18)"O.D.";TAB(26)"Wall";TAB(34)"I.D.";
  201. 2010  PRINT TAB(39)"CALLpipe size";TAB(49)"CALL gap of";TAB(58)"CALL per inch";
  202. 2020  PRINT TAB(69)"CALL  Volts"
  203. 2030  PRINT UL$;
  204. 2040  LOCATE CSRLIN-1,39:PRINT "STEP"
  205. 2050  LOCATE CSRLIN-1,49:PRINT "STEP"
  206. 2060  LOCATE CSRLIN-1,58:PRINT "STEP"
  207. 2070  LOCATE CSRLIN-1,69:PRINT "STEP"
  208. 2080  '
  209. 2090    FOR Z=1 TO 10
  210. 2100  IF INC=1  THEN K=Z       'increment between pipe sizes
  211. 2110  IF INC=-1 THEN K=Z+1     'increment between pipe sizes
  212. 2120  Z$=P$(Z,1):OD=VAL(P$(Z,2)):WAL=VAL(P$(Z,3))
  213. 2130  ID=OD-2*WAL
  214. 2140  PRINT TAB(2)"(";CHR$(96+Z);")";
  215. 2150  PRINT TAB(8)Z$;CHR$(34);
  216. 2160  PRINT TAB(14)USING U1$;OD;
  217. 2170  PRINT USING U1$;WAL;
  218. 2180  PRINT USING U1$;ID;
  219. 2190    FOR Y=Z+1 TO 12
  220. 2200      J=VAL(P$(Y,2))-2*VAL(P$(Y,3))
  221. 2210      IF J>VAL(P$(K,2)) THEN 2230
  222. 2220    NEXT Y
  223. 2230  P$(Z,4)=STR$(J)
  224. 2240  GAP=(J-OD)/2
  225. 2250  PRINT TAB(42)P$(Y,1);CHR$(34);TAB(49)USING U1$;GAP;
  226. 2260  CI=7.47/(LOG(J/OD)*LF)/12  'capacity per inch
  227. 2270  PRINT " ";USING U1$;CI;:PRINT " pF";USING U3$;GAP*21*10^3
  228. 2280    NEXT Z
  229. 2290  '
  230. 2300  PRINT TAB(2)"(";CHR$(96+Z);") List pipe combinations with HIGHER";INC$
  231. 2310  PRINT TAB(2)"(";CHR$(97+Z);") RETURN TO MENU"
  232. 2320  IF E=0 THEN 2360    'breakdown voltage
  233. 2330  LOCATE 24,17:PRINT "Note: Minimum air gap for";E;"volts is";
  234. 2340  PRINT USING "##.###";AIR;:PRINT " in.";
  235. 2350  '
  236. 2360  COLOR 0,7:LOCATE 25,15
  237. 2370  PRINT " Press a letter in ( ) to choose one of the above...";
  238. 2380  COLOR 7,0
  239. 2390  Z$=INKEY$:IF Z$=""THEN 2390
  240. 2400  IF ASC(Z$)<97 OR ASC(Z$)>108 THEN 2390
  241. 2410  Z=ASC(Z$)-96
  242. 2420  OD=VAL(P$(Z,2)):ID=VAL(P$(Z,4))
  243. 2430  IF Z=11 THEN INC=INC*-1:GOTO 1800
  244. 2440  IF Z=12 THEN OD=0:ID=0    'return to menu
  245. 2450  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  246. 2460  GOSUB 1520  'diagram
  247. 2470  GOTO 760
  248. 2480  END
  249. 2490  '
  250. 2500  '.....aluminum tubing
  251. 2510  INC=1     'increment between inner and outer tube sizes
  252. 2520  '
  253. 2530  VIEW PRINT 9 TO 24:CLS:VIEW PRINT:LOCATE 3
  254. 2540  IF INC=1 THEN INC$=" VOLTAGE RATINGS"
  255. 2550  IF INC=-1 THEN INC$=" CAPACITANCES"
  256. 2560  PRINT " Standard Sizes of 6061-T6(61S-T6) Round Aluminum Tube."
  257. 2570  PRINT " (All dimensions are in inches)"
  258. 2580  PRINT " Order tube by O.D. and wall thickness (e.g. 1/2";CHR$(34);" x ";
  259. 2590  PRINT ".049";CHR$(34);" wall)."
  260. 2600  PRINT UL$;
  261. 2610  LOCATE CSRLIN-1,39:PRINT "FN"
  262. 2620  LOCATE CSRLIN-1,49:PRINT "FN"
  263. 2630  LOCATE CSRLIN-1,58:PRINT "FN"
  264. 2640  LOCATE CSRLIN-1,69:PRINT "FN"
  265. 2650  PRINT TAB(7)"Nominal";TAB(39)"CALLfits into";TAB(49)"CALLwith air";
  266. 2660  PRINT TAB(58)"CALL Capacity";TAB(69)"CALL Maximum";
  267. 2670  PRINT TAB(8)"size";TAB(18)"O.D.";TAB(26)"Wall";TAB(34)"I.D.";
  268. 2680  PRINT TAB(39)"CALLtube size";TAB(49)"CALL gap of";TAB(58)"CALL per inch";
  269. 2690  PRINT TAB(69)"CALL  Volts"
  270. 2700  PRINT UL$;
  271. 2710  LOCATE CSRLIN-1,39:PRINT "STEP"
  272. 2720  LOCATE CSRLIN-1,49:PRINT "STEP"
  273. 2730  LOCATE CSRLIN-1,58:PRINT "STEP"
  274. 2740  LOCATE CSRLIN-1,69:PRINT "STEP"
  275. 2750  '
  276. 2760    FOR Z=1 TO 10
  277. 2770  IF INC=1  THEN K=Z       'increment between tube sizes
  278. 2780  IF INC=-1 THEN K=Z+1     'increment between tube sizes
  279. 2790  Z$=T$(Z,1):OD=VAL(T$(Z,2)):WAL=VAL(T$(Z,3))
  280. 2800  ID=OD-2*WAL
  281. 2810  PRINT TAB(2)"(";CHR$(96+Z);")";
  282. 2820  PRINT TAB(8)Z$;CHR$(34);
  283. 2830  PRINT TAB(14)USING U1$;OD;
  284. 2840  PRINT USING U1$;WAL;
  285. 2850  PRINT USING U1$;ID;
  286. 2860    FOR Y=Z+1 TO 12
  287. 2870      J=VAL(T$(Y,2))-2*VAL(T$(Y,3))
  288. 2880      IF J>VAL(T$(K,2)) THEN 2900
  289. 2890    NEXT Y
  290. 2900  T$(Z,4)=STR$(J)
  291. 2910  GAP=(J-OD)/2
  292. 2920  PRINT TAB(42)T$(Y,1);CHR$(34);TAB(49)USING U1$;GAP;
  293. 2930  CI=7.47/(LOG(J/OD)*LF)/12  'capacity per inch
  294. 2940  PRINT " ";USING U1$;CI;:PRINT " pF";USING U3$;GAP*21*10^3
  295. 2950    NEXT Z
  296. 2960  '
  297. 2970  PRINT TAB(2)"(";CHR$(96+Z);") List tube combinations with HIGHER";INC$
  298. 2980  PRINT TAB(2)"(";CHR$(97+Z);") RETURN TO MENU"
  299. 2990  IF E=0 THEN 3030    'breakdown voltage
  300. 3000  LOCATE 22,17:PRINT "Note: Minimum air gap for";E;"volts is";
  301. 3010  PRINT USING "##.###";AIR;:PRINT " in.";
  302. 3020  '
  303. 3030  COLOR 0,7:LOCATE 25,15
  304. 3040  PRINT " Press a letter in ( ) to choose one of the above...";
  305. 3050  COLOR 7,0
  306. 3060  Z$=INKEY$:IF Z$=""THEN 3060
  307. 3070  IF ASC(Z$)<97 OR ASC(Z$)>108 THEN 3060
  308. 3080  Z=ASC(Z$)-96
  309. 3090  OD=VAL(T$(Z,2)):ID=VAL(T$(Z,4))
  310. 3100  IF Z=11 THEN INC=INC*-1:GOTO 2530
  311. 3110  IF Z=12 THEN OD=0:ID=0    'return to menu
  312. 3120  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  313. 3130  GOSUB 1520  'diagram
  314. 3140  GOTO 760
  315. 3150  END
  316. 3160  '.....text
  317. 3170  Q=7
  318. 3180  PRINT TAB(Q);
  319. 3190  PRINT "Variable capacitors can be constructed from two telescoping pieces"
  320. 3200  PRINT TAB(Q);
  321. 3210  PRINT"of metal pipe or tubing as shown in the diagram. Provide small holes"
  322. 3220  PRINT TAB(Q);
  323. 3230  PRINT "or slots in the end caps and sliding insulator for free passage of"
  324. 3240  PRINT TAB(Q);
  325. 3250  PRINT "air to prevent the assembly from becoming a pneumatic piston."
  326. 3260  PRINT
  327. 3270  PRINT TAB(Q);
  328. 3280  PRINT "Inner element actuation is left up to the builder's ingenuity.";
  329. 3290  RETURN
  330. 3300  '
  331. 3310  'HARDCOPY
  332. 3320  GOSUB 3430:LOCATE 25,2:COLOR 14,6
  333. 3330  PRINT " Press 1 to print screen, 2 to print screen & ";
  334. 3340  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  335. 3350  Z$=INKEY$:IF Z$="3"THEN GOSUB 3430:RETURN
  336. 3360  IF Z$="1"OR Z$="2"THEN GOSUB 3430:GOTO 3380
  337. 3370  GOTO 3350
  338. 3380  FOR QX=1 TO 24:FOR QY=1 TO 80
  339. 3390  LPRINT CHR$(SCREEN(QX,QY));
  340. 3400  NEXT QY:NEXT QX
  341. 3410  IF Z$="2"THEN LPRINT CHR$(12)
  342. 3420  GOTO 3320
  343. 3430  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  344.